package com.ruoyi.indicators.service.impl;

import com.ruoyi.indicators.domain.Indicators;
import com.ruoyi.indicators.mapper.IndicatorsMapper;
import com.ruoyi.indicators.service.IIndicatorsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 指标管理Service业务层处理
 *
 * @author ruoyi
 * @date 2023-05-13
 */
@Service
public class IndicatorsServiceImpl implements IIndicatorsService
{
    @Autowired
    private IndicatorsMapper indicatorsMapper;

    /**
     * 查询指标管理
     *
     * @param indicatorsId 指标管理主键
     * @return 指标管理
     */
    @Override
    public Indicators selectIndicatorsByIndicatorsId(Integer indicatorsId)
    {
        return indicatorsMapper.selectIndicatorsByIndicatorsId(indicatorsId);
    }

    /**
     * 查询指标管理列表
     *
     * @param indicators 指标管理
     * @return 指标管理
     */
    @Override
    public List<Indicators> selectIndicatorsList(Indicators indicators)
    {
        return indicatorsMapper.selectIndicatorsList(indicators);
    }

    /**
     * 新增指标管理
     *
     * @param indicators 指标管理
     * @return 结果
     */
    @Override
    public int insertIndicators(Indicators indicators)
    {
        return indicatorsMapper.insertIndicators(indicators);
    }

    /**
     * 修改指标管理
     *
     * @param indicators 指标管理
     * @return 结果
     */
    @Override
    public int updateIndicators(Indicators indicators)
    {
        return indicatorsMapper.updateIndicators(indicators);
    }

    /**
     * 批量删除指标管理
     *
     * @param indicatorsIds 需要删除的指标管理主键
     * @return 结果
     */
    @Override
    public int deleteIndicatorsByIndicatorsIds(Integer[] indicatorsIds)
    {
        return indicatorsMapper.deleteIndicatorsByIndicatorsIds(indicatorsIds);
    }

    /**
     * 删除指标管理信息
     *
     * @param indicatorsId 指标管理主键
     * @return 结果
     */
    @Override
    public int deleteIndicatorsByIndicatorsId(Integer indicatorsId)
    {
        return indicatorsMapper.deleteIndicatorsByIndicatorsId(indicatorsId);
    }

    /**
     * 获得全部指标管理信息
     *
     * @return 结果
     */
    @Override
    public List<Indicators> selectAllIndicators() {
        return indicatorsMapper.selectAllIcatorsList();
    }

    /**
     * 批量设置父节点
     *
     * @return 结果
     */
    @Override
    public int setFather(@Param("indicatorsIds")Integer[] indicatorsIds, @Param("father")Integer father)
    {
        return indicatorsMapper.setFather(indicatorsIds, father);
    }

    /**
     * 修改更新值
     *
     * @param indicators 指标管理
     * @return 结果
     */
    @Override
    public int updateValue(Indicators indicators)
    {
        return indicatorsMapper.updateValue(indicators);
    }

    /**
     * 获得全部节点
     *
     * @return 结果
     */
    @Override
    public List<Integer> selectAllFather() {
        return indicatorsMapper.selectAllFather();
    }


    /**
     * 修改子节点的父节点
     *
     * @param indicatorsIds 指标管理
     * @return 结果
     */
    public int updateFather(Integer[] indicatorsIds){
        return indicatorsMapper.updateFather(indicatorsIds);
    }

    /**
     * 获得最大ID
     *
     * @return 结果
     */
    public Integer getMaxId(){
        return indicatorsMapper.getMaxId();
    }



}
